package com.example.recyclerviewdemo;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import java.util.ArrayList;
import java.util.List;

public class RecyclerViewAdater extends RecyclerView.Adapter<RecyclerViewAdater.InnerHolder> {
    Context mContent;

    List<Student> mStudent =  new ArrayList<>();//传进来自定义数据

    public RecyclerViewAdater(Context context, List<Student> list){ // 构造方法
        this.mContent = context; // 把content 传进来
        this.mStudent = list;

    }
    @Override
    public RecyclerViewAdater.InnerHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        // 绑定 item 视图
        View view =View.inflate(mContent,R.layout.item_listview,null);// 需要content,还有item_listview的资源文件
        return new InnerHolder(view);// 需要参数view --- 联系InnerHolder（）函数
    }

    @Override
    public void onBindViewHolder(@NonNull RecyclerViewAdater.InnerHolder holder, int position) {
        // 对实例化后的控件进行操作，进行数据的展示，点击事件的监听
        Student student = mStudent.get(position);// 得到某一行的数据
        holder.itemText.setText(student.getStName()); //展示数据
    }

    @Override
    public int getItemCount() {   // 返回数量
        return mStudent.size();
    }

    // 在这个类中对 item 进行实例化
    public class InnerHolder extends RecyclerView.ViewHolder {
        TextView itemText;  //
        public InnerHolder(@NonNull View itemView){
            super(itemView);   // 实例化item
            itemText = itemView.findViewById(R.id.item_text);// 从传进来的itemView中获取
        }
    }
}
